home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
IRIX 6.2 Development Libraries
/
SGI IRIX 6.2 Development Libraries.iso
/
dist
/
complib.idb
/
usr
/
share
/
catman
/
p_man
/
cat3
/
complib
/
slaexc.z
/
slaexc
Wrap
Text File
|
1996-03-14
|
3KB
|
133 lines
SSSSLLLLAAAAEEEEXXXXCCCC((((3333FFFF)))) SSSSLLLLAAAAEEEEXXXXCCCC((((3333FFFF))))
NNNNAAAAMMMMEEEE
SLAEXC - swap adjacent diagonal blocks T11 and T22 of order 1 or 2 in an
upper quasi-triangular matrix T by an orthogonal similarity
transformation
SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
SUBROUTINE SLAEXC( WANTQ, N, T, LDT, Q, LDQ, J1, N1, N2, WORK, INFO )
LOGICAL WANTQ
INTEGER INFO, J1, LDQ, LDT, N, N1, N2
REAL Q( LDQ, * ), T( LDT, * ), WORK( * )
PPPPUUUURRRRPPPPOOOOSSSSEEEE
SLAEXC swaps adjacent diagonal blocks T11 and T22 of order 1 or 2 in an
upper quasi-triangular matrix T by an orthogonal similarity
transformation.
T must be in Schur canonical form, that is, block upper triangular with
1-by-1 and 2-by-2 diagonal blocks; each 2-by-2 diagonal block has its
diagonal elemnts equal and its off-diagonal elements of opposite sign.
AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
WANTQ (input) LOGICAL
= .TRUE. : accumulate the transformation in the matrix Q;
= .FALSE.: do not accumulate the transformation.
N (input) INTEGER
The order of the matrix T. N >= 0.
T (input/output) REAL array, dimension (LDT,N)
On entry, the upper quasi-triangular matrix T, in Schur canonical
form. On exit, the updated matrix T, again in Schur canonical
form.
LDT (input) INTEGER
The leading dimension of the array T. LDT >= max(1,N).
Q (input/output) REAL array, dimension (LDQ,N)
On entry, if WANTQ is .TRUE., the orthogonal matrix Q. On exit,
if WANTQ is .TRUE., the updated matrix Q. If WANTQ is .FALSE., Q
is not referenced.
LDQ (input) INTEGER
The leading dimension of the array Q. LDQ >= 1; and if WANTQ is
.TRUE., LDQ >= N.
J1 (input) INTEGER
The index of the first row of the first block T11.
PPPPaaaaggggeeee 1111
SSSSLLLLAAAAEEEEXXXXCCCC((((3333FFFF)))) SSSSLLLLAAAAEEEEXXXXCCCC((((3333FFFF))))
N1 (input) INTEGER
The order of the first block T11. N1 = 0, 1 or 2.
N2 (input) INTEGER
The order of the second block T22. N2 = 0, 1 or 2.
WORK (workspace) REAL array, dimension (N)
INFO (output) INTEGER
= 0: successful exit
= 1: the transformed matrix T would be too far from Schur form;
the blocks are not swapped and T and Q are unchanged.
PPPPaaaaggggeeee 2222